package com.lhn.tankGame;

import javax.swing.*;
import java.awt.*;

/**
 * @author lhn
 * @date 2024-07-24 18:01
 * 坦克大战的绘图区域
 */

public class MyPanel extends JPanel {

    //我的坦克
    Hero hero = null;

    public MyPanel(){
            hero = new Hero(100, 100);  //初始化
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.fillRect(0, 0, 1000, 750);
        drawTank(hero.getX(), hero.getY(), g, 0, 0);
    }

    //画出坦克
    /**
    *
    * @author lihaonan
    * @date 2024/7/26 15:28
     * @param x 坦克的左上角x坐标
     * @param y 坦克的左上角y坐标
     * @param g 画笔
     * @param direction 坦克的方向（上下左右）
     * @param type  坦克类型
    */
    public void drawTank(int x, int y, Graphics g, int direction, int type) {

        //根据不同类型的坦克设置不同的颜色
        switch (
                type
        ) {
            case 0: //玩家使用的坦克
                g.setColor(Color.cyan);
                break;
            case 1:
                g.setColor(Color.yellow);
                break;
        }

        //根据坦克的方向来绘制坦克
        switch (
                direction
        ) {
            case 0:
                g.fill3DRect(x, y, 10, 60, false);
                g.fill3DRect(x + 30, y, 10, 60, false);
                g.fill3DRect(x + 10, y + 10, 20, 40, false);
                g.fill3DRect(x + 10, y + 20, 20, 20, false);
                g.drawLine(x + 20, y + 30, x + 20, y);
                break;
            case 1:
                break;
            case 2:
                break;
            case 3:
                break;
            default:
                System.out.println("暂时无法处理");
        }
    }
}
